Authentication Methods and Systems

ABSTRACT

The invention provides a solution for secure authentication of an individual. The invention comprises methods and apparatus for secure input of a user&#39;s identifier e.g. PIN. An image of a keypad is superimposed over an operable keypad within a display zone of a screen associated with an electronic device. The keypad image and/or the operable keypad are generated by the device using a scrambled or randomised keypad configuration generated on or at the electronic device. The configuration or order of keys depicted in the image may or may not be scrambled or randomised. Thus, the order of keys depicted in the image do not correspond to the order of the keys in the operable keypad, so that when the user selects a ‘key’ depicted in the image on the screen, the underlying operable keypad is caused to operate and an encoded version of the user&#39;s input is received into memory on the device. The encoded input can be sent for decoding on a remote computer. The keypad configurations used for generation of the operable keypad(s) and/or keypad image(s) are generated using an input. The input could be a true or pseudo random number or biometric data relating to a user of the device. The device may be a mobile phone, a tablet computer, laptop, PC, payment terminal or any other electronic computing device with a screen.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 15/576,896 filed on Nov. 27, 2017, which is the national stage of International Patent Application No. PCT/GB2016/051548 filed on May 27, 2016, and which claims priority to British Patent Applications Nos. GB 1509030.1 filed on May 27, 2015, GB 1509031.9 filed on May 27, 2015, GB 1520760.8 filed on Nov. 24, 2015 and GB 1520741.8 filed on Nov. 24, 2015, all of which are hereby incorporated by reference in their entireties as if fully set forth herein.

BACKGROUND 1. Field

This invention relates generally to the field of user authentication. The invention is suited for use in situations where a user is required to enter an identifier or code (e.g. a PIN, password etc) which is validated prior to completing an operation. The operation might be any type of operation. The invention is also suited for, but not limited to, verification of the user on a mobile device such as a smartphone or tablet computer.

2. Related Art

Authentication techniques are used in a variety of situations where an individual's identity and/or authorisation needs to be verified prior to being allowed to perform an act or gain access to some controlled or managed resource such as a device, building, a computer system, a financial account, a service etc.

One common approach to authentication is to record some pre-selected identifier comprising a code or combination of symbols which is then maintained in secrecy in a secure location and available only to authorised parties. For the sake of convenience, the identifier may be referred to in this document as a Personal Identification Code (PIC) although it is important to note that the identifier may comprise other types and combinations of symbols and not just numeric digits. The term ‘PIC’ as used herein should not be construed as limiting the invention with respect to the type or format of the user's identifier.

After the identifier has been selected and assigned to an authorised individual (or group of individuals), the user is required to supply the correct identifier each time he requests permission to perform the controlled act or gain access to the resource or service. The user's inputted identifier is compared with the pre-stored version. If the input matches the stored identifier then the user's identity is deemed to have been verified and access is granted. Alternatively, if the input does not match the pre-stored version then access is denied.

The use of PINs has become commonplace, especially in relation to banking and financial applications. Customers have become accustomed to, and trusting of, the use of PIN-based verification. Financial institutions also favour PIN-based authentication as it provides a more secure form of verification than, for example, a signature. Further still, when a transaction requires authentication via a PIN the liability for any fraud resulting from that transaction is deemed to lie with the user who has supplied the PIN. This is in contrast to ‘card not present’ transactions such as on-line transactions where the liability remains with the issuing financial institution.

Another authentication approach involves using a device to capture biometric data relating to the unique physical or behavioural attributes of the individual such as iris pattern, palm geometry or fingerprint. An advantage of biometric authentication is that users do not need to remember passwords or codes, and the required information is always carried inherently by the individual wherever they go so no additional hardware such as tokens need to be carried. Therefore, biometric authentication offers a convenient and simple authentication solution which is attractive to end users.

However, despite the attractions of biometric authentication, it has yet to be widely adopted within certain industries such as the banking industry. One reason for this is that the infrastructure of the banking industry is geared towards verification using a 4 digit PIN. This includes payment terminals, ATMs, switches, and the apparatus at both the acquiring and issuing banks, which would all need to be replaced or adapted at significant cost in order to move from PIN-based to biometric authentication. Other concerns arise in relation to the security of biometric data which may be captured from non-secure sources. For example, fingerprints can be ‘lifted’ from public places, voices can be recorded. In addition, while it is easy to change a stored PIN or identifier it is not possible for an individual change biometric data such as fingerprint, iris pattern etc.

These concerns can be reduced by the use of two or three-factor authentication wherein at least two of the following are used during authentication:

-   -   What you know (e.g., PIN, password)     -   Who you are (e.g., fingerprint, retina pattern, face, or voice         patterns)     -   What you have (e.g., smart card, security token, mobile device)

Therefore, a system which requires a user to authenticate with both a PIN and biometric data on a device owned or operated by the user would provide enhanced security.

With respect to mobile technology, more and more people are using handheld computing devices such as smart phones and tablet computers etc for identity-sensitive operations such as banking. However, such devices are notoriously insecure and passwords, PINs and other valuable authentication data can be compromised by third parties. Therefore, there is a significant challenge in providing an authentication solution which is secure even when used on a mobile device.

One such solution has been disclosed in WO 2014/013252 which teaches the concept of sending an image of a scrambled keypad from a server to a user's device (PC, mobile phone, tablet etc.). An operable, functional keypad is generated on the device and the image is displayed on the screen in the same position as the keypad. The image is superimposed over the keypad such that it is hidden from view yet still functional in the background. The positions of the underlying keypad keys do not correspond to the positions of the same ‘keys’ depicted in the image. To the user, only the image of the scrambled keypad is visible and thus when the user touches or clicks on part of the image to select an input, the operable keypad interprets this input differently and an encoded version of the user's input is received into memory on the device. Thus, as the user's real identifier (e.g. PIN) is never entered into the keyboard buffer or elsewhere on the device it cannot be fraudulently obtained from it. The encoded identifier is then transmitted to a remote server which knows the order of keys depicted in the keypad image, and can thus decode the user's input. In effect, a mapping is created between the keypad configurations, and this mapping is used to both encode and decode the identifier. This solution provides significant advantages over other authentication techniques, because it does not require the user to remember a different identifier, does not require the use of special or additional hardware, and avoids entry of the user's real identifier into an insecure device.

EP 1615181 A1 discloses an authentication method wherein a random string is fed into an ‘image generator’ component. The image generator takes the random string and generates image data suitable for display on a client terminal. The image data is then used to change the appearance of the display on the terminal so as to present the user with a plurality of characters and the user then inputs his PIN by selecting characters. Each input selected by the user is recorded as positional data by the client terminal (e.g. first row, second column). This positional data is then converted by the client terminal into character data e.g. the numeral 2. In contrast to the WO 2014/013252 arrangement, there is no use of an operable keypad, masked by an overlying image, to perform the encoding during entry. Instead, a customised algorithm is used to post-process the positional data into an encoded version of the user's input.

SUMMARY

An alternative solution has now been devised.

Thus, in accordance with the present invention there is provided an authentication solution as defined in the appended claims.

In accordance the invention there is provided a verification method and corresponding system. The invention may be used to verify (authenticate) a user's identity. The verification may be performed prior to granting access to some controlled resource or service. Thus, the invention may provide an enhanced security mechanism.

The method may comprise the steps of:

presenting at least a portion of a keypad image over at least a portion of an operable keypad within a display zone of a screen associated with an electronic device; wherein the keypad image and/or the operable keypad are generated using at least one scrambled keypad configuration generated on or at the electronic device.

Thus, the image and the keypad may be provided within the same display zone of the same screen. The user may enter or input an identifier by selecting a portion of the image. This may cause an encoded version of the user's identifier to be generated and entered into the device by the operable keypad. Thus, no post-entry transformation or processing of the identifier or its positional data is required in order to encode or translate it.

One or more scrambled keypad configurations may be generated on or at the electronic device itself. The at least one scrambled keypad configurations may then be used to generate at least one operable keypad and/or at least one keypad image. The keypad image and/or operable keypad may also be generated on or at the electronic device.

This is in contrast to the prior art which teaches that one or a plurality of scrambled keypad configurations are sent from a remote server to the electronic device. Advantageously, in accordance with the invention, the workload is transferred from the remote resource to the local device. It also avoids the need for transmittal of the configuration(s) to the device and so avoids interception. Thus, the present invention provides a more efficient and more secure solution than the prior art.

Additionally or alternatively, the scrambled keypad configuration may be used to generate the keypad image on or at the electronic device, rather than the image being sent to the device from a remote computing resource such as a server.

The keypad configuration(s) may be used to generate a PED (Pin Entry Device). The PED may be formed on the electronic device.

The operable keypad may be generated by executing a subroutine such as a function, method or procedure on the electronic device. The subroutine may be part of a library. The library may be provided as standard to the electronic device. Execution of the subroutine may cause a keypad object to be generated in volatile memory on the electronic device. The keypad object may be a virtual, electronic model of a mechanical keypad. The operable keypad may be or comprise an event handler (or “event listener” in some alternative programming terminologies). The event may be a keyboard event, a touchscreen event or some other input-related event.

The phrase ‘on or at’ may be interpreted as meaning that the scrambled keypad configuration is generated by the electronic device itself, or by one or more devices which are associated with the electronic device e.g. by physical or wireless connection to the electronic device. The scrambled keypad configuration is therefore generated locally to the electronic device (client) rather than being received from a remote resource (server).

The phrase ‘keypad configuration’ may be used herein to refer to the order, arrangement or position of keys in a keypad. It may also be used to refer to the order of ‘keys’ as depicted in the keypad image although it should be noted that in reality the image does not actually comprise operable ‘keys’. The term ‘scrambled’ may be used to mean that the keys in a keypad configuration are altered relative to a reference configuration.

The keypad image may be an image of a non-scrambled keypad. The operable keypad may be generated using at least one scrambled keypad configuration (i.e. the operable keypad may be ‘scrambled’). The non-scrambled image may be a representation of a keypad which is a default or expected layout and design for the device. Thus, the ‘keys’ depicted in the non-scrambled image may be in a sequential order as expected by the user in conformity with, for example, the standard keypad of the device. The standard keypad may be generated by an operating system or software component supplied with the device by the manufacturer. The image of the non-scrambled keypad may be “superimposed” over a scrambled operable keypad to generate a mapping between the keys depicted in the image and the operable keys of the underlying functional keypad.

Alternatively, the position of the ‘keys’ depicted in the image may be scrambled while the position of the functional keys in the underlying keypad may be non-scrambled. In yet another embodiment, the layout of the keys in both the image and the operable keypad are scrambled. In any event, a mapping is generated between the position of keys depicted in the image and the functional keys of the keypad.

Preferably, the scrambled keypad configuration is generated on or at the electronic device by a software component, which may be referred to as a keypad generation component (KGC), and may be arranged to generate the image(s) and/or operable keypad(s). Additionally or alternatively, it may be arranged to generate one or more configurations for specifying the arrangement of keys in the image(s) or operable keypad(s). It may be installed on the electronic device after download from a remote resource, i.e., remote with respect to the electronic device. The remote resource may be a server. It may be a cloud-based resource.

The software component may be configured to receive an input. It may be configured to use the input to provide one or more keypad configurations for use in generation of the keypad image(s) and/or operable keypad(s). The input may be a pseudo or true random number, or it may be biometric data related to a user. The user may or may not be associated with the electronic device.

The keypad image may be a representation of a keypad. It may be a static image or a moving image. It may comprise a watermark. It is distinct and distinguishable from the operable keypad in that the image resembles a keypad but does not comprise any keypad functionality. Therefore, while portions of the image may represent or depict ‘keys’, and may appear as such to the user, the image itself or portions thereof do not possess any operable properties. Thus, clicking on, touching or otherwise selecting a portion of the keypad image may not, in itself, result in an input being received by the electronic device. In one or more embodiments, one or more keys depicted in the image may be colour coded, watermarked or otherwise tagged to provide a visual assurance to the user that the image has been provided by a legitimate source.

By contrast, the operable keypad comprises the functionality and properties which the skilled person would associate with a functioning keypad. Thus, the operable keypad may comprise a plurality of keys or buttons. The keypad is configured such that each key or button has a value (e.g., digit, letter, or other symbol) associated with it. This assignment of values to keys is typically performed upon creation of the keypad (at run time) but the associations may be changed after creation if the keypad is re-configurable. In either event, the association of values to keys is performed prior to entry of the user's input such that when the user selects a given key, its pre-defined value is put into a portion of memory in the electronic device. The portion of memory may be a keyboard buffer.

The invention may enable the user to provide an input to the electronic device by operating one or more keys of the operable keypad via or through the image. The keypad image may be superimposed over the operable keypad in the sense that the operable keypad is provided (presented) within the display zone of the screen but the image is presented at least partially within the same display zone and thus obscures or masks the operable keypad from the user's view.

The operable keypad may be listening in the background, waiting for an input, even though the user cannot see it. Preferably, the image masks the operable keypad completely so the user appears to see an operable keypad but in reality is only able to see an image of a keypad. Preferably, the symbols on the operable keys of the underlying keypad may not correspond to the position of the ‘keys’ as shown in the keypad image. In other words, the configuration of the operable keypad may not match or be the same as the configuration of the keypad depicted in the image. Thus, when the user selects what appears to be a key in the keypad image, the operable keypad active within the display zone may cause a different symbol to be entered into the device's memory. In this manner, the user's real (i.e., intended) input may never be received into any portion of the device's memory. It may never be received by the keyboard buffer. An encoded version of the identifier is created due to the mapping between the different configurations used to generate the keypad and the image.

This feature provides the significant advantage that the user's real input cannot be obtained by any party who has gained unauthorised access to the electronic device. It also distinguishes the invention over known solutions wherein data such as positional data or an identifier is received from the user into memory and then translated into an encoded version of the user's input. In effect, it is the user who encodes the input when using the present invention, rather than the invention itself.

One or a plurality of operable keypads may be generated on the electronic device during an authentication session. Additionally or alternatively, one or a plurality of keypad images may be generated during the session. One or more images and/or keypads may be generated from one (scrambled) keypad configuration.

In one or more embodiments, a plurality of operable keypads and/or keypad images may be generated. They may be arranged or ordered in a series, stack or queue or other data structure.

One keypad in the plurality may be designated or selected as the active operable keypad for receiving input from a user. The active operable keypad may be the keypad which is provided ‘beneath’ the image such that when the user selects a portion of the image on the screen, the active operable keypad is caused to function. Preferably, there is only one active keypad at any given point in time. The remaining operable keypads in the plurality may be dormant or inactive until designated as the active keypad. Thus, a plurality of operable keypads may be generated and placed into a data structure. The data structure may be iterated over so that the operable keypad designated as the active one changes over time. The change may be effected following a certain period of time or after an event such as an input being received from a user. Thus, after an input from the user, the active operable keypad may be replaced or exchanged for another operable keypad in the plurality. The previously active keypad may be erased from memory, or marked for removal, once it has become inactive. Thus, once an input (keystroke) has been received using a particular operable keypad it may be deleted from the electronic device.

Alternatively, rather than cycling through a plurality of pre-generated operable keypads, a new operable keypad may be generated for each input when needed. Each newly generated operable keypad may comprise a different configuration of keys from the others. A new operable keypad may be generated when an input is expected or required from the user. For example, if the identifier is four digits long a first keypad may be used for receipt of the first input, then second keypad generated for receipt of the second input and so on for all four inputs.

Further still, a mutable (changeable) keypad may be provided in addition to or instead of a plurality of operable keypads. The configuration of the mutable operable keypad may be altered after or upon an event such as receipt of an input from a user, or after a certain period of time. Thus, the same operable keypad may remain as the active one, but the arrangement of the keys may change. The scrambled keypad configurations may be used to determine the different configurations of the keypad.

The scrambled keypad configuration(s) may be generated using a true random number generator or pseudo random number generator. The true or pseudo random number (hereinafter simply ‘the random number’) may be fed as input into the software component referred to as the keypad configuration component. Thus, when using a random number as input to the configuration component, different keypad configuration(s) may be produced each time the invention is used by the same user.

Preferably, the random number is generated locally to the electronic device. It may be generated on the processor of the electronic device or using a device which is in local communication (wired or wireless) with the device. Thus, it may be generated by a plug-in device or a device connected to the electronic device via a wireless protocol such as Bluetooth, NFC etc.

The scrambled keypad configuration may be generated using biometric data related to a user. In this document, the phrase “biometric data” may be used to mean data which is captured directly from the user (i.e., “raw” biometric data, such as may be captured by a sensor). It may also mean biometric data which has been derived from a biometric capture process. For example, it may be processed data which has been obtained or derived following a biometric authentication process.

The biometric data may be generated or captured in a variety of ways. As with respect to the random number generation above, it is preferably generated by the electronic device or locally to the electronic device. The biometric data may comprise any form of data relating to a physical or behavioural attribute of the user. It may comprise data relating to a fingerprint, iris pattern etc. The invention is not to be limited with respect to the type of biometric data used or the manner in which it is collected or processed. Various biometric data capture and analysis systems are known in the art and considered to be suitable for use with the present invention.

The biometric data may be processed to provide a sequence or identifier which is unique to the user. The sequence may be a string of values or characters. This string may be fed into the software component (KGC) so as to specify the order of keys in one or more operable keypads and/or images generated by or at the electronic device. Thus, when using biometric data as input to the software component, the same keypad configuration(s) may be produced each time the invention is used by the same user. The keypad generation component may be arranged to generate a Pin Entry Device (PED). This may be a virtual, non-physical PED.

Additionally or alternatively, some other form of data may be used as the input to the keypad configuration algorithm. This data may be derived from or in some way related to the user's biometric data. It may be, for example, a cryptographic key. The cryptographic key may be used to generate the seed. The key may be a private or public cryptographic key which is associated with a user and/or a digital wallet associated with a user. The wallet may be stored on the electronic device. The cryptographic key may have been generated during a biometric authentication process, or a registration process involving the capture of the user's biometric data.

The electronic device may be a mobile and/or handheld device such as a smart phone, tablet, payment terminal, payment card reader or smart-card reader. Additionally or alternatively, it may be a personal computing device associated and/or registered with a user. This distinguishes the invention over those prior art arrangements which are designed for use with non-personal computing devices such as ATM machines. The term ‘personal computing device’ is used herein to refer to an electronic computing device, such as a PC, laptop, mobile phone, tablet computer which can be associated with, registered to, and/or owned by an individual.

Preferably, the operable keypad and/or the keypad image is erased from the device following input from a user, or following a specified period of time. The position of the display zone on the screen, and/or its dimensions, may be specified by a procedure or method call. The display zone may comprise a plurality of sub-zones, each sub zone corresponding to a keypad key. The sub-zone may be referred to as ‘hot spots’. Thus, selection of a particular hot spot on the screen may cause a key of the active, operable keypad to be activated such that an (encoded) input is placed into memory.

Preferably, the method comprises the step of storing an encoded version of a user's identifier in memory associated with the electronic device, the identifier being received by the operable keypad via the keypad image such that the user's identifier is never stored on the device in an un-encoded form.

It may comprise the steps of storing an encoded version of an identifier entered into the electronic device by the operable keypad via the keypad image; and transmitting the encoded version of the identifier to a remote computing resource.

The scrambled keypad configuration may be transmitted to the remote computing resource. A plurality of scrambled keypad configurations may be sent to the remote computing resource. The remote computing resource, e.g., server, may decode the encoded version of the user's identifier. It may use one or more scrambled keypad configurations to decode the encoded version of the user's identifier.

The invention may be arranged to generate one keypad configuration for each value in the user's identifier. Additionally, it may generate a keypad configuration for use in generating a keypad image.

The invention also provides an electronic computing apparatus arranged and configured to implement the method described above. The apparatus may comprise a screen and at least one software component arranged and configured to perform any version of the method described above. The screen may be a touch screen.

The apparatus may comprise or be associated with:

a true random number generator and/or a pseudo random number generator;

means for capturing or generating biometric data related to a user; and/or

means for reading data from a smart card. The smart card may be a payment card. It may be any type of IC card which is independent of the operation of the device ie it may not be a SIM card.

The invention also provides a verification method comprising the steps of:

using biometric data related to an individual to generate a keypad configuration;

using the keypad configuration to generate an operable keypad and/or a keypad image.

Any or all of the features described above may also apply to this aspect of the invention.

Preferably, the keypad configuration is a scrambled keypad configuration. Thus, the order of keypad keys specified by the configuration may be altered relative to a default or reference configuration.

The method may include the steps of:

capturing, generating or receiving the biometric data on or at an electronic device; generating the operable keypad and/or keypad image on or at the electronic device.

The invention also provides an electronic payment device comprising:

a touch screen;

a component arranged to read a payment card or other IC card; and

software arranged to:

-   -   generate at least one keypad configuration from biometric data         related to an individual, and/or a true or pseudo random number;         and     -   generate a keypad image and/or operable keypad using the at         least one keypad configuration.

Preferably, the payment or other IC card is separate to the electronic device. It may be physically independent of the electronic device. It may be a financial card such as bank or credit card. Preferably it does not provide functionality for the device. Preferably, it is not a SIM card.

Also, in accordance with the invention, there is provided a verification method comprising the steps of:

displaying a keypad image over a first operable keypad within a zone of a screen associated with an electronic device;

using the first operable keypad to obtain a first keystroke from a user; and

using at least one further keypad to obtain at least one further keystroke;

wherein the configuration of the first and/or at least one further operable keypad, and/or the configuration of the keypad image, is determined using an input sequence generated on or captured locally to the electronic device.

Any or all of the features described above may also apply to this aspect of the invention.

The image may be superimposed over the operable keypad as described above in relation to other aspects of the invention. Thus, the user may see the keypad image instead of the operable keypad such that when the user selects a portion of the image, the operable keypad is caused to function. Thus, the method enables an encoded version of the user's input to be received by memory (e.g., keyboard buffer).

A plurality of operable keypads may be generated on the electronic device. At any given time, one operable keypad may be selected or arranged as the active keypad. The active keypad may be the one which is executed by the device so as to obtain the next keystroke from the user.

The input sequence may be a pseudo random number.

Additionally or alternatively, the input sequence may be generated using biometric data related to the user.

An encoded version of an identifier may be constructed. The encoded identifier may comprise the first keystroke. It may comprise the at least one further keystroke. The identifier may be a code, password or other any other type of identifier associated with the user.

The first operable keypad may be a scrambled keypad. The scrambled keypad may comprise a configuration of keys which are in a randomised order or a different order relative to a default or reference keypad configuration. A different scrambled, operable keypad may be used to obtain each keystroke obtained from the user. Each operable keypad in the plurality may be different from the others in the plurality in the sense that it is a separate, distinct operable keypad. Alternatively, only one mutable, operable keypad may be generated, and the order of keys reconfigured for each keystroke. Thus, the keypads may be different in the sense of having different key configurations.

The electronic device may be a mobile or handheld device such as a smart phone, laptop computer, tablet computer or payment terminal. The electronic device may comprise software and/or hardware capabilities for reading data from a card. The card may be an IC or smart card such as a payment card. The card may be independent to the operation of the electronic device. In other words, the card is not a SIM card or other ‘card’ integral to the operation of the device.

One or more aspects of the invention may be described as providing a two-factor authentication solution. It may provide a solution wherein:

the identity of the user is verified using biometric data; and

the user's authorisation to perform the transaction is verified by entry of a correct, pre-selected identifier.

It is important to note that for the sake of brevity and clarity, some features described above in relation to one aspect of the invention may not have been repeated in relation to other aspects of the invention. However, any feature mentioned above in relation to one aspect of the invention may be equally applicable to any other aspect of the invention.

These and other aspects of the present invention will be apparent from and elucidated with reference to, the embodiment described herein.

An embodiment of the present invention will now be described, by way of example, and with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWING

The FIGURE shows a flowchart illustrating one possible embodiment in accordance with the method of the invention.

DETAILED DESCRIPTION

The invention provides a secure authentication solution for verifying the identity of an individual. The invention may be used as part of a wider authentication process or system not described herein.

In one embodiment, the present invention provides an alternative solution to the authentication technique described in WO 2014/013252 which involves presenting an image of a scrambled keypad on a user's electronic device e.g. mobile phone such that it obscures an operable keypad from the user's view. The user, therefore, sees what appears to be an operable keypad, but in fact is simply an image devoid of functionality.

The operable keypad underlying the image comprises keys or buttons which have symbols assigned to them, as is known in the art. The user enters his/her identifier e.g. PIN or PIC by selecting portions of the screen (which depict ‘keys’) corresponding to the symbols in the identifier. The operable keypad which has been generated behind the image detects the user's key strokes and enters the symbols assigned to the keypad's selected keys into the buffer. As a mapping is generated between the keys of the keypad and the “keys” of the image, this allows an encoded version of the real identifier to be constructed and sent to a remote server for verification. It is important to note that the invention does not perform a translation or encoding operation on the user's input as is known in some prior art arrangements. In such known systems, the ‘real’ identifier is entered into the keyboard buffer before being encoded. This enables unauthorised parties to access the user's identifier via the buffer. The invention, however, avoids this problem by never storing the real version of the identifier, even temporarily in the buffer.

As the order of the keys in the operable keypad is different from the order of the keys depicted in the image, the user's ‘real’ input is never actually entered into memory on the phone. This provides the significant benefit that the real identifier cannot, therefore, be derived by an unauthorised party from the phone. Further still, unless someone knows the configuration of keys in both the operable keypad and the keypad image, they cannot decode the encoded identifier.

The present invention provides several new and inventive features. Firstly, according to the present invention, the keypad image and/or the configuration of keys for the operable keypad are generated on the user's device rather than being sent to the device from a remote server. This provides the advantage that the processing work is transferred to the client (user's) device rather than server.

Secondly, the invention provides novel and inventive techniques for generating the keypad/image configuration(s). A software component installed on the user's device receives an input. It uses that input to determine the configuration of keys for one or more operable keypads. Additionally or alternatively, it uses the input to determine the configuration of ‘keys’ to be depicted in one or more keypad images. The operable keypad(s) and/or keypad image(s) can then be generated using the configurations specified by the software component.

In one embodiment, the input to the generation component is a random number. In another embodiment, the input is (or is derived from or related to) biometric data relating to the user. The biometric data can be a fingerprint, for example. The skilled person will readily understand that any type of biometric data can be used. The invention is not limited with respect to the format, type or method of capture of the biometric data.

If a random number is used as input, the resulting configuration(s) will be different each time the invention is used. If, however, biometric data is used as the input, the resulting configurations will be the same each time the invention is used. This is because the user's biometric data e.g. fingerprint, retina pattern etc. remains constant and will always provide the same input.

In either embodiment, the input is generated on, by or at the user's device. In other words, it is generated locally to the user's device rather than by a remote resource. The input may be generated by one or more components which comprise part of the user's device, or are in proximity to the user's device and connected thereto by a physical or wireless interface.

In use, the user registers with a system in accordance with the invention. The requisite software is then downloaded to the user's device, including the generation component. Hereinafter, the user's device will be referred to as a mobile phone but any electronic device with computing capabilities may be used.

When the user's identity needs to be verified, the required input is generated either by a random number generator or by a biometric capture device. For example, the user may press a finger against the screen of the phone, or may look into a camera, or speak into a microphone etc. The biometric capture device generates a string which represents the captured biometric property.

The biometric data or random number (string) is then fed into the generation component. In another embodiment, data relating to or derived from biometric data is fed into the generation component, either instead of or as well as the biometric data. For example, a public or private cryptographic key may be used. The cryptographic key may have been generated during, for example, a wallet creation or registration process which involved capture of the user's biometric data.

The generation component then uses the input to generate a plurality of keypad configurations. Preferably, the order of symbols or values in each of the configurations is unique such that no configuration is duplicated. The keypad configurations may be generated from the random or biometric string using values or substrings selected from the string. For example, the first ten values of the string may be used for the first 10-digit keypad configuration, the next ten values may be used for the second configuration and so on. Thus, the component must ensure that the input string is of sufficient length to provide the required values for the keypad configurations.

In an illustrative embodiment using a keypad comprising the digits ‘0’ through to ‘9’, there will be ten values (i.e., characters, digits, or symbols) in each configuration generated by the invention. The number of configurations generated will be the number of values in the user's identifier plus one. This will enable one scrambled, operable keypad to be generated per keystroke required from the user to enter the identifier, plus one for the keypad image. For example, in an embodiment wherein the user's identifier consists of 4 values, the configuration generation component will produce 5 configurations: one for each digit in the identifier and one for generation of the image that the user will see.

Only one operable keypad is ‘active’ at any given time. Thus, when the user selects (what appears to be) a key on the image, only the active keypad is able to detect the user's input. In an embodiment wherein a plurality of operable keypads has been pre-generated by the device at the start of an authentication session, only one is designated, arranged or executed so as to be the active operable keypad for receipt of the user's next keystroke. After receipt of an input, the active keypad may be altered in some way (e.g. the keys may be reconfigured) or may be deselected as the active keypad (e.g by deletion from memory or removal from the stack).

It should be noted, though, that the user's identifier can be any type or length of identifier, comprising any type of value. It may not be limited to a 4-digit numeric PIN.

Further still, it is important to note that in some embodiments, the image may be an image of a default (non-scrambled) keypad. Thus, the ‘keys’ depicted in the image may be in a sequential order as expected by the user in conformity with, for example, the standard keypad of the device. The skilled person will readily understand that the image of the non-scrambled keypad is “superimposed” over a scrambled keypad to generate the mapping as described above.

Further, only one underlying, operable keypad may be generated and used to receive all keystrokes from the user. In other embodiments, however, a plurality of scrambled keypad images may be used over the top of one or more operable keypads. The image may be changed after each input (keystroke) from the user, or may be changed after a predetermined event such as three incorrect attempts.

Turning to the FIGURE, the general concept utilised by the invention may be expressed as follows.

-   -   1. Generate an input string on or at the user's device using         biometric data capture or random number generation—see the         FIGURE, step 101.     -   2. Feed the input string into a keypad generation component         (KGC)—step 102     -   3. The generation component uses the input string to generate 5         keypad configurations—step 103     -   4. Use one of the keypad configurations to generate and display         an image of a scrambled keypad, and use the remaining         configurations to generate 4 scrambled, operable keypads to         underlie the image;         -   superimpose the image ‘over’ the active operable keypad so             that when the user provides an input (keystroke) via the             image, the active keypad reads an input into the buffer—step             104     -   5. Construct encoded version of user's identifier from multiple         inputs detected by operable keypad(s)—step 105     -   6. Send encoded version of user's identifier and 5 keypad         configurations to remote location for decoding step 6.

In one implementation, the keypad configurations which are derived from the (random or biometric) input string can be used as inputs to procedure calls which are executed and placed onto the runtime stack.

An illustration of one embodiment of the invention might be expressed as follows:

String input // input (RN/biometric) used to generate keypad configurations String usersInput // (encoded) identifier built from user's keystrokes int p = 10 // number of keys on keypad int start = 0 // index of start of substring in input int end = p − 1 // index of end of substring in input; input = getInput( ) // get input String somehow: random number or biometric data // display image of scrambled keypad using first p chars from input generateandDisplayImage(input.substring(start, end)) // increment start and end indices in the input String start = start + p end = end + p for (int i = 0; i < N; i++){ // N == length of PIN // generate a new keypad using next p values from input Keypad k = new Keypad(input.substring(start, end)) //get user's keystroke and add to return String usersInput.concat(k.getKeyStroke( )) // increment start and end indices in the input String start = start + p end = end + p } return usersInput // send user's encoded input for decoding and verification

In the above illustration, a new keypad is generated as and when required for each expected keystroke. In an alternative implementation, a plurality of keypads with different configurations may be pre-generated at the start of the session and placed into a data structure. The encoded result can then be generated by iterating over that the data structure.

Stack keypads // data structure to hold the keypads for(int i = 0; i < N; i++){ //populate the Stack of keypads keypads.push(new Keypad(input.substring(start, end)) // increment start and end indices in the input String start = start + p; end = end + p; } for(int i = 0; i < N; i++){ // iterate over the Stack, one key stroke per keypad String temp = keypads.pop( ).getKeyStroke( ) usersInput.concat(temp) // build encoded version of user's input }

In yet another implementation, only one mutable, operable keypad object may be generated. The plurality of configurations may then be used to alter the order of the keys in the same operable keypad after each keystroke has been detected.

Once the user's encoded identifier has been constructed, it can be sent to a remote server for comparison against the stored version of the identifier. In order to decode the identifier, the server needs to know the mapping of the keys in the keypad(s) and image. Therefore, the keypad configurations generated by the user's device are also sent to the server.

The invention may be implemented on a payment terminal. The payment terminal might incorporate a card-reading component so that data can be read from the chip and/or magnetic strip of an IC card. The payment terminal is a dedicated device for processing payments and authenticating a user for such transactions. Therefore, such a payment terminal is not a general-purpose computing device such as a smart phone or PC. In other embodiments, the invention can be implemented on a mobile phone, tablet computer, personal computer, laptop, etc.

Therefore, the invention provides a secure authentication solution even when implemented on a mobile device. The generation of the keypad configurations on the user's device provides the benefits that processing is performed locally rather than remotely. The combination of biometrics with identifier e.g. PIN provides a multi-factor authentication which requires the user to be identified on the device (‘who the user is’) and then authenticated by identifier (‘what the user knows’). This alleviates security concerns relating to the use of biometric authentication alone.

It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be capable of designing many alternative embodiments without departing from the scope of the invention as defined by the appended claims. In the claims, any reference signs placed in parentheses shall not be construed as limiting the claims. The word “comprising” and “comprises”, and the like, does not exclude the presence of elements or steps other than those listed in any claim or the specification as a whole. In the present specification, “comprises” means “includes or consists of” and “comprising” means “including or consisting of”. The singular reference of an element does not exclude the plural reference of such elements and vice-versa. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In a device claim enumerating several means, several of these means may be embodied by one and the same item of hardware. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. 

1. A verification method comprising: generating at least one scrambled keypad configuration on or at an electronic device; generating at least one of an operable keypad and a keypad image using the at least one scrambled keypad configuration; and presenting the keypad image within a display zone of a screen associated with the electronic device; and using a mapping between keys depicted in the keypad image and keys of the operable keypad to enter an encoded version of a user's identifier into the electronic device by operation of the keys of the operable keypad through user interaction with the keys of the keypad image.
 2. A method according to claim 1, wherein: the mapping is based on superimposition of the keypad image over the operable keypad.
 3. A method according to claim 1, wherein: the keypad image is an image of a non-scrambled keypad, and the operable keypad is generated using the at least one scrambled keypad configuration; or the position of the keys depicted in the image is scrambled and the position of the keys in the operable keypad are non-scrambled; or the configuration of the keys in both the image and the operable keypad are scrambled.
 4. A method according to claim 1, wherein: the scrambled keypad configuration is generated on or at the electronic device by a software component.
 5. A method according to claim 4, wherein the software component is: i) configured to receive an input and use the input to provide one or more keypad configurations for use in generation of at least one of the operable keypad and the keypad image; or ii) installed on the electronic device after download from a remote resource.
 6. A method according to claim 1, wherein: the operable keypad is one of a plurality of operable keypads generated from the scrambled keypad configuration, or the keypad image is one of a plurality of keypad images generated from the scrambled keypad configuration.
 7. A method according to claim 6, wherein: the plurality of operable keypads is arranged or ordered in a series, stack, queue, or other data structure, or the plurality of keypad images is arranged or ordered in a series, stack, queue, or other data structure.
 8. A method according to claim 6, wherein: one operably keypad in the plurality of operable keypads is designated or selected as the active operable keypad for receiving input from a user.
 9. A method according to claim 8, wherein the selection or designation of the active operable keypad is performed automatically without user input.
 10. A method according to claim 8, further comprising: re-ordering or otherwise altering the plurality of operable keypads after an input has been received from the user.
 11. A method according to claim 8, further comprising: i) changing selection or designation of the active operable keypad such that another operable keypad becomes selected or designated as the active operable keypad; or ii) altering the configuration of the keys of the operable keypad to provide a different ordering or arrangement of keys.
 12. A method according to claim 1, wherein: the scrambled keypad configuration is generated using a true random number generator or pseudo random number generator; or the scrambled keypad configuration is generated using biometric data related to a user.
 13. A method according to claim 1, wherein: the electronic device is a mobile device or handheld device.
 14. A method according to claim 1, wherein: the electronic device is personal computing device associated with the user.
 15. A method according to claim 1, wherein: the operable keypad or the keypad image is erased from the electronic device following input from the user or following a specified period of time.
 16. A method according to claim 1, wherein: position of the display zone on the screen, or its dimensions, are specified by a procedure call.
 17. A method according to claim 16, wherein: the procedure call causes a keypad object to be created in volatile memory on the electronic device.
 18. A method according to claim 1, wherein: the display zone comprises a plurality of sub-zones, each sub-zone corresponding to a key of the keypad image.
 19. A method according to claim 1, further comprising: storing the encoded version of the user's identifier in memory associated with the electronic device, the identifier being received by the operable keypad via the keypad image such that the user's identifier is never stored on the device in an un-encoded form.
 20. A method according to claim 1, further comprising: storing the encoded version of an identifier entered into the electronic device by the operable keypad via the keypad image; and transmitting the encoded version of the identifier to a remote computing resource.
 21. A method according to claim 20, further comprising: transmitting the scrambled keypad configuration to the remote computing resource.
 22. A method according to claim 1, wherein: the order of keys in the operable keypad is different from the order of keys depicted in the keypad image.
 23. A method according to claim 1, wherein: the operable keypad is hidden from view.
 24. A method according to claim 1, further comprising: generating a new operable keypad for each keystroke required from the user to enter the user's identifier; or altering the operable keypad after receipt of an input from the user; or replacing or exchanging the operable keypad for another operable keypad after an input from the user.
 25. A method according to claim 1, wherein: the user enters the user's identifier by selecting a sequence of keys that are depicted in the keypad image; and the mapping is used to generate and store an encoded version of the user's identifier on the electronic device.
 26. An electronic device comprising a screen and at least one component configured to perform the method of claim
 1. 27. An electronic device according to claim 26, further comprising: a true random number generator or a pseudo random number generator; or means for capturing or generating biometric data related to the user; or means for reading data from a smart card.
 28. An electronic payment terminal comprising: a touch screen; a component arranged to read a payment card or other IC card; and software arranged to execute the method of claim
 1. 29. A verification method comprising: displaying a keypad image within a zone of a screen associated with an electronic device; using a first operable keypad to obtain a first keystroke from a user; and using at least one further operably keypad to obtain at least one further keystroke from the user; wherein at least one of configuration of the first operable keypad, configuration of the at least one further operable keypad, and configuration of the keypad image is determined using an input sequence generated on or captured locally to the electronic device; and wherein a mapping between keys depicted in the keypad image and keys of the first operable keypad and the at least one further operable keypad is used to enter an encoded version of a user's identifier into the electronic device by operation of the keys of the operable keypad and the at least one further operable keypad through user interaction with the keys of the keypad image.
 30. A method according to claim 29, wherein: the mapping is based on superimposition of the keypad image over the first operable keypad and the at least one further operable keypad. 